/*
 * Università degli Studi di Trento
 * Facoltà di Scienze MM.FF.NN.
 * Corso di Laurea Triennale in Informatica
 * A.A. 2010/2011
 * Progetto per il corso di Sistemi Operativi 1
 * Progetto 4: simulazione di una rotonda
 * Autori:
 *  Abram Lorenzo - 140368
 *  Dal Lago Loris - 139428
 *  Florio Alessandro - 140245
 */

/********************************************************************************
  Questa classe deve risultare "privata" del file "roundabout.c"

  Contiene infatti i metodi che verranno chiamati solo ed unicamente dalla
  rotatoria
********************************************************************************/

#ifndef QUEUE_H
#define QUEUE_H

#include "common.h"
#include "car.h"

typedef struct SQueue * ptrQueue;

ptrQueue Queue_create (void);
void Queue_enqueue (ptrCar, ptrQueue);
ptrCar Queue_top(ptrQueue);
void Queue_dequeue (ptrQueue);
void Queue_destroy (ptrQueue);

#ifdef DEBUG
void Queue_printf (const ptrQueue);
#endif /* DEBUG */

#endif /* QUEUE_H */



